﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Portfolio.Entities;

namespace Portfolio.Repository.Interfaces
{
    public interface ICategoriesRepository
    {
        IList<CategoriesDropDownListV> GetCategoriesByActiveFlag(int articleCategoryID);
        IList<ArtcileCategoriesGridV> GetCategoryBySearch(string title, int? categoryID, int? status, bool? active);

        ArticleCategoryT GetCategoryByIdCategory(int articleCategoryID);
        ArticleCategoryT GetCategoryByIdIdCategory(int? articleCategoryID);
        ArticleCategoryT GetCategoryBySeqAll(int seqAll);
        ArticleCategoryT GetCategoryBySeqAndIDIDCategoryID(int seq, int? articleCategoryIDID);

        IList<ArticleCategoryT> GetCategoryByLevelDepth(int depthLevel, int groupCategory);
        IList<ArticleCategoryT> GetCategoryByIDIDCategoryIsNull(int? articleCategoryIDID);

        IList<ArticleCategoryT> GetAll();
        void UpdateCategory(ArticleCategoryT category);
        void DeleteCategory(ArticleCategoryT category);
        int InsertCategory(ArticleCategoryT category);
    }
}
